package org.kgduyjj.toolbox;

import org.apache.log4j.Logger;

import com.alibaba.fastjson.JSON;

/**
 * JSON 工具包
 * 
 * @author Kgduyjj
 * @since 2020-07-26
 * @version Alpha-1.42
 *
 */
public class JsonUtil {
	private static Logger logger = Logger.getLogger(JsonUtil.class);

	/**
	 * 将JSON字符串转换为JavaBean
	 * 
	 * @param json
	 * @param clz
	 * @return
	 */
	public static <T> T tranferJson(String json, Class<T> clz) {
		try {
			return JSON.parseObject(json, clz);
		} catch (Exception e) {
			logger.error(String.format("Transform [%s] to [Class:%s] is Exception.", json,
					(clz == null ? null : clz.getName())), e);
		}
		return null;
	}

	/**
	 * 将JavaBean转换为JSON字符串
	 * 
	 * @param t
	 * @return
	 */
	public static <T> String convterJson(T t) {
		try {
			if (null == t) {
				return null;
			}
			return JSON.toJSONString(t);
		} catch (Exception e) {
			String clzName = t == null ? null : t.getClass().getName();
			logger.error("Convter [Class:" + clzName + "] to Json is Exception.", e);
		}
		return null;
	}
}
